//
//  BaseRequestParams.h
//  AiEngine2
//
//  Created by hobson on 13-6-24.
//  Copyright (c) 2013年 Midfar Sun. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AiCommonConfig.h"

@interface BaseRequestParams : AiCommonConfig

/**
 *	@brief	设置请求内核使用资源
 *
 *	@param 	res 	请求内核使用资源
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setReqRes:(NSString *)res;

/**
 *	@brief	设置是否开启音量
 *
 *	@param 	volumeEnable 	设置不使用VAD时是否开启音量(默认为0）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVolumeEnable:(NSNumber *)volumeEnable;

/**
 *	@brief	设置请求内核类型
 *
 *	@param 	coreType 	请求内核类型
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setReqCoreType:(NSString *)coreType;

/**
 *	@brief	设置服务类型（云端服务或本地服务）
 *
 *	@param 	coreProvideType 	优先使用本地内核"native",可配置为："native", "cloud", "local"
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setType:(NSString*)coreProvideType;

/**
 *	@brief	设置应用程序userId
 *
 *	@param 	userId 	应用程序的userId
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAppUserId:(NSString *)userId;

/**
 *	@brief	设置音频类型
 *
 *	@param 	audioType 	音频类型（默认wav）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAudioType:(NSString *)audioType;

/**
 *	@brief	设置Channel配置
 *
 *	@param 	channel 	设置音频通道数（默认为1）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAudioChannel:(NSNumber*)channel;

/**
 *	@brief	设置音频编码
 *
 *	@param 	sampleBytes 	设置音频编码（默认为2）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAudioSampleBytes:(NSNumber*)sampleBytes;

/**
 *	@brief	设置音频采样率
 *
 *	@param 	sampleBytes 	音频采样率（默认为16000，支持16000和8000）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAudioSampleRate:(NSNumber*)sampleRate;

/**
 *	@brief	设置speex编码等级
 *
 *	@param 	spxQuality 	3G及wifi环境下为默认值8，2G网络下默认值为3
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAudioSpxQuality:(NSNumber*)spxQuality;

/**
 *	@brief	设置是否使用VAD
 *
 *	@param 	vad  1:使用VAD; 0:不使用VAD
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVadEnable:(NSNumber *)enable;


- (NSMutableDictionary*)getDic;

@end


